let wxMethods = {
  // 获取appid
  getAppid() {
    $.post("/api/wxContent/appId", { company_id }, function (result) {
      wxMethods.getCode(result.data.corpid);
    });
    return false;
  },
  // 获取code
  getCode(appid) {
    var host = window.location.protocol + "//" + window.location.host;
    var url = encodeURI(host + "/chat-tool/chat.html?id=" + company_id);
    var href = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appid}&redirect_uri=${url}&response_type=code&scope=snsapi_base&state=#wechat_redirect`;
    window.location.href = href;
  },

  getUrlCode() {
    // 截取url中的code方法
    var url = location.search;
    var theRequest = new Object();
    if (url.indexOf("?") != -1) {
      var str = url.substr(1);
      var strs = str.split("&");
      for (var i = 0; i < strs.length; i++) {
        theRequest[strs[i].split("=")[0]] = strs[i].split("=")[1];
      }
    }
    return theRequest;
  },

  // 获取userID
  getmyId() {
    $.post("/api/user", { company_id, code }, function (result) {
      if (result.status) {
        localStorage.setItem("user_id", result.data.user_id);
        //获取列表
        wxMethods.getContent({});
        //wxMethods.getGroup();
      }
    });
  },

  //    // 获取分组
  //    getGroup(){
  //        $.post('/api/salesPatterGrpLst', { company_id } ,function(result){

  //            if (result.status == 1) {
  //                for(let i = 0;i < result.data.list.length;i++){
  //                    $('#groupList').append(`<option value="${ result.data.list[i].group_id }">${ result.data.list[i].group_name }</option>`);
  //                }
  //                wxMethods.getContent({});
  //            }

  //        });
  //    },
  //获取列表
  getContent(datas) {
    let type = $(".tabItem.active").attr("data-type"),
      data = {
        company_id,
        page: 1,
        limit: 1000,
        search: {
          type,
          keywords: datas.keywords ? datas.keywords : "",
        },
      };
    $.post("/api/sopLst", data, function (result) {
      if (result.status == 1) {
        $(".list").empty();
        if (result.data.list.length > 0) {
          for (let i = 0; i < result.data.list.length; i++) {
            $(".list").append(`<div class="w100 listItem">
                                   <div class="listItemLeft wordsCent">
                                       <span>${result.data.list[i].name}</span>
                                   </div>
                                   <div class="listItemRight">
                                       <button type="button" class="sendBtn" onclick="wxMethods.send('${JSON.stringify(
                                         result.data.list[i].content
                                       ).replace(
                                         /"/g,
                                         "&quot;"
                                       )}', ${ result.data.list[i].sop_id });">发送</button>
                                   </div>
                               </div>`);
          }
        } else {
          $(".list").append(`<div class="w100 listItem"><p>暂无数据</p></div>`);
        }
      }
    });
  },
  // 发送消息前获取配置参数
  send(item, sop_id) {
    $.post("/api/wxContent/jsSdkData", { company_id }, function (result) {
      if (result.status == 1) {
        wx.config({
          beta: true, // 必须这么写，否则wx.invoke调用形式的jsapi会有问题
          debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
          appId: result.data.appId, // 必填，企业微信的corpID
          timestamp: result.data.timestamp, // 必填，生成签名的时间戳
          nonceStr: result.data.nonceStr, // 必填，生成签名的随机串
          signature: result.data.signature, // 必填，签名，见 附录-JS-SDK使用权限签名算法
          jsApiList: ["shareToExternalChat", "shareToExternalMoments","shareToExternalContact"], // 必填，需要使用的JS接口列表，凡是要调用的接口都需要传进来
        });
        wx.ready(function () {
          // config信息验证后会执行ready方法，所有接口调用都必须在config接口获得结果之后，config是一个客户端的异步操作，所以如果需要在页面加载时就调用相关接口，则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口，则可以直接调用，不需要放在ready函数中。
          wxMethods.getCon(result.data.agent, JSON.parse(item), sop_id);
        });
      }
    });
  },
  //发送消息
  getCon(config, item, sop_id) {
    wx.agentConfig({
      corpid: config.corpid, // 必填，企业微信的corpid，必须与当前登录的企业一致
      agentid: config.agentid, // 必填，企业微信的应用id （e.g. 1000247）
      timestamp: config.timestamp, // 必填，生成签名的时间戳
      nonceStr: config.nonceStr, // 必填，生成签名的随机串
      signature: config.signature, // 必填，签名，见附录-JS-SDK使用权限签名算法
      jsApiList: ["shareToExternalChat", "shareToExternalMoments","shareToExternalContact"], //必填
      success: function (res2) {
        let type = $(".tabItem.active").attr("data-type");

        $.post(
          "/api/WxContent/styleContent",
          { company_id, type: type != 2 ? 1 : 2, content: JSON.stringify(item) },
          function (datas) {
            if (type == 1) {
              // 群群发
              wx.invoke("shareToExternalChat", datas.data.content, function (res) { 
                if (res.err_msg == "shareToExternalChat:ok") {
                  wxMethods.sopInc(sop_id) 
                }
              });
            } else if (type == 2) {
              // 朋友圈
              wx.invoke("shareToExternalMoments", datas.data.content, function (res) { 
                if (res.err_msg == "shareToExternalMoments:ok") {
                  
                alert(JSON.stringify(res))
                  wxMethods.sopInc(sop_id) 
                }
              });
            }else if (type == 3) {
              // 朋友圈
              wx.invoke("shareToExternalContact", datas.data.content, function (res) { 
                if (res.err_msg == "shareToExternalContact:ok") {
                  wxMethods.sopInc(sop_id) 
                }
                
              }); 
            }
        })
      },
      fail: function (err) {
        console.log(err);
      },
    });
  },
  
  sopInc(sop_id){
    let data ={
      company_id,
      sop_id
    }
    $.post('/api/WxContent/sopInc', data, function(result){ });
  }
};

let code = wxMethods.getUrlCode().code,
  company_id = wxMethods.getUrlCode().id;
if (localStorage.getItem("user_id")) {
  wxMethods.getContent({});
  // wxMethods.getGroup();
} else {
  if (company_id && code) {
    wxMethods.getmyId();
  } else {
    wxMethods.getAppid();
  }
}

// 切换选项卡
$(document).on("click", ".tabItem", function () {
  let datas = {
    // group_id : $('#groupList').val(),
    content_type: $(this).attr("data-type"),
    keyword: $("#searchKey").val(),
  };

  $(".tabItem").removeClass("active");
  $(this).addClass("active");
  wxMethods.getContent(datas);
});

// 搜索
$("#searchSend").click(function () {
  let datas = {
    //  group_id : $('#groupList').val(),
    keywords: $("#searchKey").val(),
  };
  wxMethods.getContent(datas);
});

//    // 切换分组
//    $('#groupList').change(function(){
//        let datas = {
//           group_id : $('#groupList').val(),
//           keywords : $('#searchKey').val(),
//         };
//         wxMethods.getContent(datas);
//    })
